com.supermap.ar.areffect

类 AREffectElement

  • java.lang.Object
    • com.supermap.ar.areffect.AREffectElement
    • 构造器详细资料

      • AREffectElement

        public AREffectElement(android.content.Context context)
        构造方法
        参数:
        context -
    • 方法详细资料

      • getElementType

        public ElementType getElementType()
        获取元素类型
        返回:
      • createChildElement

        @Deprecated
        public AREffectElement createChildElement()
        已过时。 
        创建子元素
        返回:
      • getContext

        public android.content.Context getContext()
      • getId

        public long getId()
        获取id
        返回:
      • getElementName

        public java.lang.String getElementName()
        获取对象名称
        返回:
      • setElementName

        public void setElementName(java.lang.String objectName)
        设置对象名称
        参数:
        objectName -
      • addChild

        @Deprecated
        public boolean addChild(AREffectElement obj)
        已过时。 
        添加子对象
        参数:
        obj - 子对象
        返回:
        添加是否成功
      • getChild

        @Deprecated
        public AREffectElement getChild(int index)
        已过时。 
        根据序列号查询子对象
        参数:
        index - 序列号
        返回:
        子对象
      • removeChild

        @Deprecated
        public void removeChild(int index)
        已过时。 
        删除子对象
        参数:
        index - 对象索引
      • removeChild

        @Deprecated
        public void removeChild(long id)
        已过时。 
        删除子对象
        参数:
        id - 对象id
      • removeChild

        @Deprecated
        public void removeChild(java.lang.String name)
        已过时。 
        删除子对象
        参数:
        name - 对象名
      • removeChild

        @Deprecated
        public void removeChild(AREffectElement element)
        已过时。 
        移除子节点元素
        参数:
        element -
      • clearChildren

        @Deprecated
        public void clearChildren()
        已过时。 
        清除所有子对象
      • getAllChilds

        public java.util.ArrayList<AREffectElement> getAllChilds()
        获取子对象数组
        返回:
      • addChilds

        public void addChilds(java.util.ArrayList<AREffectElement> list)
        设置子对象数组
        参数:
        list -
      • getChildCount

        public int getChildCount()
        获取子对象个数
        返回:
      • getChild

        public java.util.ArrayList<AREffectElement> getChild(java.lang.String Name)
        获取子对象
        参数:
        Name -
        返回:
      • getChild

        public AREffectElement getChild(long id)
        根据id获取子对象
        参数:
        id -
        返回:
      • getPosition

        public Point3D getPosition()
        获取AR对象在AR场景位置
        返回:
      • setPosition

        public void setPosition(Point3D position)
        设置AR对象在AR场景位置
        参数:
        position -
      • setPosition

        public void setPosition(Vector3 vector3)
        设置AR对象在AR场景位置
        参数:
        vector3 -
      • getWGSCoordinates

        public Location getWGSCoordinates()
        获取模型地理位置
        返回:
      • setWGSCoordinates

        @Deprecated
        public void setWGSCoordinates(Location elementLocation)
        已过时。 
        使用地理坐标设置模型位置
        参数:
        elementLocation -
      • getRelativePosition

        public Point3D getRelativePosition()
        获取AR对象相对于父节点位置
        返回:
      • setRelativePosition

        public void setRelativePosition(Point3D position)
        设置AR对象相对于父节点位置
        参数:
        position -
      • setRelativePosition

        public void setRelativePosition(Vector3 position)
        设置AR对象相对于父节点位置
        参数:
        position -
      • setRotationAngle

        public void setRotationAngle(Vector vector,
                                     float rotationAngle)
        设置对象的旋转角度
        参数:
        vector - 旋转轴,可以直接用单位向量
        rotationAngle - 旋转角度
      • setRotationAngle

        public void setRotationAngle(Quaternion quaternion)
        设置旋转角度(四元数)

        每次在原有姿态上变换(累加)

        参数:
        quaternion -
      • setRotationAngleNoRepeat

        public void setRotationAngleNoRepeat(Quaternion quaternion)
        设置旋转角度(四元数)

        注:与setRotationAngle(Quaternion quaternion)不同的是,此方法重复设置,不会累加 例如: //element element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 element.setRotationAngle(new Quaternion(new Vector(0,0,1),90));//element旋转了90度 //此时,element共旋转了180度 //element2 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element2旋转至90度 element2.setRotationAngleNoRepeat(new Quaternion(new Vector(0,0,1),90));//element旋转至90度 //此时,element2只旋转了90度

        参数:
        quaternion -
      • setRotationAngleRelative

        public void setRotationAngleRelative(Quaternion quaternion)
        设置相对节点的旋转角度
        参数:
        quaternion -
      • getScaleFactor

        public float[] getScaleFactor()
        获取对象在ar世界中的比例
        返回:
      • setScaleFactor

        public void setScaleFactor(float[] scales)
        设置对象在ar世界中的比例
        参数:
        scales - 含有3个值,分别为xyz的系数
      • getArEffectView

        public EffectView getArEffectView()
        获取AREffectView
        返回:
      • setParentNode

        public AREffectElement setParentNode(EffectView arEffectView)
        绝对布局,设置父节点
        参数:
        arEffectView -
      • changeBindNode

        public void changeBindNode(AnchorNode anchorNode)
        更改绑定节点
        参数:
        anchorNode -
      • getParentNode

        public java.lang.Object getParentNode()
        获取父节点。
        返回:
      • getAnchorNode

        public AnchorNode getAnchorNode()
        获取锚点
      • setVisiblity

        public void setVisiblity(boolean visiblity)
        设置是否可见。其子对象显隐也会跟随父对象而变化
        参数:
        visiblity -
      • isVisible

        public boolean isVisible()
        获取是否可见
        返回:
      • isTransformable

        public boolean isTransformable()
        获取模型的状态 (模型是否可以旋转/缩放)
        返回:
      • setTransformable

        public void setTransformable(boolean isTransformable,
                                     boolean isSelected)
        设置模型的状态
        参数:
        isTransformable - 是否可变
        isSelected - 是否选中可变节点
      • setTransformable

        public void setTransformable(boolean isTransformable)
        设置模型的状态 (是否可通过手势对模型进行缩放/旋转)
        参数:
        isTransformable -
      • removeOnTapListener

        public void removeOnTapListener()
        移除点击监听
      • removeOnTouchListener

        public void removeOnTouchListener()
        移除触摸监听
      • isOverlap

        public boolean isOverlap()
        判断是否与其他元素重叠
        返回:
      • getRotationQuaternion

        public Quaternion getRotationQuaternion()
        获取旋转四元数
        返回:
      • setRotationQuaternion

        public void setRotationQuaternion(Quaternion quaternion)
        通过四元数设置旋转姿态

        每次设置都是基于初始相机坐标系

        参数:
        quaternion -
      • getSelectionColor

        public Color getSelectionColor()
        获取选中状态的渲染对象
        返回:
      • setSelectionColor

        public void setSelectionColor(Color color)
        设置选中状态的渲染对象的颜色
        参数:
        color -
      • setVisualizerType

        public void setVisualizerType(AREffectElement.VisualizerType visualizerType)
        设置选中状态的可视化类型
        参数:
        visualizerType -
      • select

        public void select()
        选中元素
      • unSelect

        public void unSelect()
        取消选中
      • isSelected

        public boolean isSelected()
        判断是否选中
        返回:
      • setLocalScaleFactor

        public void setLocalScaleFactor(float[] scales)
        设置对象在AR世界中的比例
        参数:
        scales - 含有3个值,分别为xyz的系数
      • getLocalScaleFactor

        public float[] getLocalScaleFactor()
        获取对象在AR世界中的比例
        返回:
      • setShadowCaster

        public void setShadowCaster(boolean flag)
        设置是否能够在场景中产生阴影
        参数:
        flag -
      • setShadowReceiver

        public void setShadowReceiver(boolean flag)
        设置在场景中是否能够接受其他对象产生的阴影
        参数:
        flag -
      • isShadowCaster

        public boolean isShadowCaster()
        判断是否该元素是否能够在场景中产生阴影
        返回:
      • isShadowReceiver

        public boolean isShadowReceiver()
        判断该元素是否能够在场景中接受其它元素产生的阴影
        返回:
      • destroy

        public void destroy()
        销毁对象
      • setRotateAlwaysToCamera

        public void setRotateAlwaysToCamera(boolean alwaysToCamera)
        设置该元素的姿态是否始终相对相机位置
        参数:
        alwaysToCamera -
      • setRotateToCameraType

        public void setRotateToCameraType(Node.RotateToCameraType type)
        设置节点相对相机的位置
        包括:
                 Horizontal,
                 Vertical,
                 Horizontal_Vertical
        参数:
        type -
      • setParentNode

        public AREffectElement setParentNode(EffectView arEffectView,
                                             Node parent)
        将元素绑定在视图中的其他节点上

        参数:
        arEffectView - 视图参数。
        parent - 父节点Node
              可通过本方法,直接将元素绑定在Node上。
              若参数EffectView不为null,则绑定关系:AREffectElement->parentNode->EffectView
         
        返回: